package com.cicc.springboot.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

/**
 * Author: 张月鹿
 */

@Data
@NoArgsConstructor
@TableName("srm_purchase_order")
public class SrmPurchaseOrderEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column(name = "id")
    private Long id;

    /**
     * 订单类型
     */
    @Column(name = "order_type")
    private String orderType;

    /**
     * 采购组编码
     */
    @Column(name = "purchase_group")
    private String purchaseGroup;

    /**
     * 公司
     */
    @Column(name = "company_code")
    private String companyCode;

    /**
     * 公司名称
     */
    @Column(name = "company_name")
    private String companyName;

    /**
     * 供应商
     */
    @Column(name = "supplier_code")
    private String supplierCode;

    /**
     * 供应商名称
     */
    @Column(name = "supplier_name")
    private String supplierName;

    /**
     * 订单号
     */
    @Column(name = "order_code")
    private String orderCode;

    /**
     * 币别
     */
    @Column(name = "order_currency")
    private String orderCurrency;

    /**
     * 抬头文本
     */
    @Column(name = "head_text")
    private String headText;

    /**
     * 订单日期
     */
    @Column(name = "order_date")
    private Date orderDate;

    /**
     * 订单会计年度
     */
    @Column(name = "order_year")
    private String orderYear;

    /**
     * 采购组织编码
     */
    @Column(name = "purchase_org")
    private String purchaseOrg;

    /**
     * 创建人
     */
    @Column(name = "create_by")
    private String createBy;

    /**
     * 修改人
     */
    @Column(name = "update_by")
    private String updateBy;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Timestamp createTime;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    private Timestamp updateTime;

    /**
     * 租户ID
     */
    @Column(name = "tenant_id")
    private Long tenantId;

    /**
     * 删除标记
     */
    @Column(name = "delete_flag")
    private String deleteFlag;

    /**
     * 订单创建人
     */
    @Column(name = "order_creater")
    private String orderCreater;

    /**
     * 付款条件
     */
    @Column(name = "pay_type")
    private String payType;

    /**
     * 修改类型(U表示更新，I表示插入，E表示删除单个字段，D表示删除整行或整个单据)
     */
    @Column(name = "change_type")
    private String changeType;

    /**
     * 国际贸易条款
     */
    @Column(name = "inter_trade_code")
    private String interTradeCode;

    /**
     * 1.全部确认;2.部分确认;3.已拒绝;4.待确认;5.草稿
     */
    @Column(name = "state")
    private String state;

    /**
     * 关联租户id
     */
    @Column(name = "ref_tenant_id")
    private Long refTenantId;

    /**
     * 对应的销售订单同步状态描述
     */
    @Column(name = "so_sync_status")
    private String soSyncStatus;

    /**
     * 平台订单类型
     */
    @Column(name = "platform_order_type")
    private String platformOrderType;

    /**
     * 供应商发布ASN(0不发布，1发布）
     */
    @Column(name = "publish_asn")
    private String publishAsn;

    /**
     * 是否需要确认 0否 1是
     */
    @Column(name = "need_confirm")
    private String needConfirm;

    /**
     * 订单总价（含税）
     */
    @Column(name = "total_price_with_tax")
    private Double totalPriceWithTax;

    /**
     * 订单总价（不含税）
     */
    @Column(name = "total_price_without_tax")
    private Double totalPriceWithoutTax;

    /**
     * 订单来源
     */
    @Column(name = "source")
    private String source;

    /**
     * 确认时间
     */
    @Column(name = "confirm_time")
    private Timestamp confirmTime;

    /**
     * 附件id
     */
    @Column(name = "batch_id")
    private String batchId;

    /**
     * 采购组描述
     */
    @Column(name = "purchase_group_desc")
    private String purchaseGroupDesc;

    /**
     * 采购组织描述
     */
    @Column(name = "purchase_org_desc")
    private String purchaseOrgDesc;

    /**
     * 采购订单类型描述
     */
    @Column(name = "order_type_desc")
    private String orderTypeDesc;

    /**
     * 退货标识
     */
    @Column(name = "is_return")
    private String isReturn;


    private String orderDescription;

}
